package com.sc.nft.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sc.nft.dto.ActivityListEditDTO;
import com.sc.nft.entity.PrizeDrawActivity;
import com.sc.nft.entity.dto.AcquisitionActivityDTO;
import com.sc.nft.entity.dto.ActivityApproveDTO;
import com.sc.nft.entity.dto.ActivityListDTO;
import com.sc.nft.entity.vo.AcquisitionActivityVO;
import com.sc.nft.entity.vo.PrizeDrawActivityDetailsVO;
import com.sc.nft.entity.vo.PrizeDrawActivityVO;

/**
 * 抽奖活动(PrizeDrawActivity)表服务接口
 *
 * @author wwc
 * @since 2023-08-22 14:06:26
 */
public interface PrizeDrawActivityService {

    /**
     * 获取活动列表
     *
     * @param activityListDTO
     * @return
     */
    Page<PrizeDrawActivityVO> activityList(ActivityListDTO activityListDTO);

    /**
     * 审批
     *
     * @param activityApproveDTO
     */
    void approve(ActivityApproveDTO activityApproveDTO);


    /**
     * 根据ID获取活动详情
     *
     * @param id
     * @return
     */
    PrizeDrawActivityDetailsVO getById(Long id);

    /**
     * 编辑
     *
     * @param activityListEditDTO
     */
    void edit(ActivityListEditDTO activityListEditDTO);

    /**
     * 获取活动列表(app)
     *
     * @param acquisitionActivityDTO
     * @return
     */
    IPage<AcquisitionActivityVO> acquisitionActivity(AcquisitionActivityDTO acquisitionActivityDTO);

    AcquisitionActivityVO getByIdDetails(Long id);
}
